/*
  动态网站开发

  成绩查询功能
*/
const http = require('http')
const path = require('path')
const fs = require('fs')
const querystring = require('querystring')
const scoreData = require('./score.json')
//根据路径读取文件的内容，并且相应到浏览器端
// let readFile = (filePath, res) => {
//   fs.readFile(path.join(__dirname, 'view', filePath), 'utf8', (err, content) => {
//   	if(err) {
//   		res.writeHead(500, {
//   			'Content-Type': "text/plain; charset=utf8"
//   		})
//   		res.end('服务器错误，请与管理员联系');
//   	}
//   	console.log(content)
//   	res.end(content)
//   })
// }

// http.createServer((req, res) => {
// 	//路由(请求路径+请求方式)
// 	//查询成绩的入口地址  /query
// 	if (req.url.startsWith('/query') && req.method == 'GET') {
//     // fs.readFile(path.join(__dirname, 'view', 'index.html'), 'utf8', (err, content) => {
//     // 	if(err) {
//     // 		res.writeHead(500, {
//     // 			'Content-Type': "text/plain; charset=utf8"
//     // 		})
//     // 		res.end('服务器错误，请与管理员联系');
//     // 	}
//     // 	console.log(content)
//     // 	res.end(content)
//     // })
//     readFile('index.html', res)
// 	} else if (req.url.startsWith('/score')) {
//     let pdata = '';
//     req.on('data', (chunk) => {
//     	pdata += chunk
//     })
//     req.on('end', () => {
//       let obj = querystring.parse(pdata);
//       let result = scoreData[obj.code];
//       fs.readFile(path.join(__dirname, 'view', 'result.html'), 'utf8', (err, content) => {
//       	if(err) {
//       		res.writeHead(500, {
// 	    			'content-type': "text/plain; charset=utf8"
// 	    		})
// 	    		res.end('服务器错误，请与管理员联系');
//       	}
//       	//返回内容前进行数据渲染
//       	content = content.replace('$$chinese$$', result.chinese)
//       	content = content.replace('$$math$$', result.math)
//       	content = content.replace('$$english$$', result.english)
//       	content = content.replace('$$summary$$', result.summary)
//       	console.log(content)
//       	res.end(content)
//       })
//     })
// 	} else {
// 		//设置响应类型和编码
// 		res.writeHead(200, {
// 			'content-type': "text/plain; charset=utf8"
// 		})
// 		res.end('页面被狗狗叼走了！')
// 	}
// 	//获取成绩结果 /score

// }).listen(3000, ()=> {
//   console.log('running...')
// })

//最简单的一个服务器


//创建服务器实例对象
// let server = http.createServer()
// //绑定请求事件
// server.on('request', (req, res) => {
//     res.end('hello!')
// })
// //监听端口
// server.listen(3000, '10.26.201.175', () => {
// 	console.log('running。。。')
// })

/*
  处理请求路径的分发
  1.req对象是Class: http.IncommingMessage的实例对象
  2.res对象是Class:http.ServerResponse的实例对象
*/
// http.createServer((req, res) => {
// 	//req.url可以获取URL中的路径(端口之后的部分)
// 	if (req.url.startsWith('/index')) {
// 		//write向客户端响应内容,可以写多次
// 		res.write('hello')
// 		res.write('hi')
// 		res.write('nihao')
// 		//end方法用来完成响应，只能执行一次
//     res.end()
// 	} else if (req.url.startsWith('/about')) {
// 		res.end('about')
// 	} else {
// 		res.end('no content')
// 	}
// }).listen(3000, '10.26.201.175', () => {
// 	console.log('running!!!')
// })


const mime = require('./mime.json')
const ss = require('./05.js')
http.createServer((req, res) => {
	ss.staticServer(req, res, path.join(__dirname, 'www'))
  // fs.readFile(path.join(__dirname, 'www', req.url), (err, fileContent) => {
  // 	if (err) {
  // 		//没有找到对应的文件
  // 		res.writeHead(200, {
  // 			'Content-Type': 'text/plain; charset=utf8'
  // 		})
  // 		res.end('页面被狗狗叼走了！')
  // 	} else {
  // 		let dtype = 'text/html'
  // 		//获取请求文件的后缀
  // 		let ext = path.extname(req.url)
  // 		//如果请求的文件后缀合理，就获取到标准的响应格式
  // 		if (mime[ext]) {
  // 			dtype = mime[ext]
  // 		}
  // 		//如果响应的内容时文本，就设置成utf8编码
  // 		if (dtype.startsWith('text')) {
  // 			dtype += '; charset=utf8'
  // 		}
  // 		//设置响应头信息
  // 		res.writeHead(200, {
  // 			'Content-Type': dtype
  // 		})
  // 		res.end(fileContent)
  // 	}
  // })
}).listen(3000, () => {
	console.log('running...')
})